#pragma once

#include <iostream>
#include <string>
#include <vector>

using std::cout;
using std::endl;

template<class T>
static void Print(const T& container) {
    for (const auto& ele : container) {
        cout << ele << " ";
    }
    cout << endl;
}

template<class T>
static void PrintOp(const T& container) {
    for (const auto& ele : container) {
        if (ele)
            cout << ele.value() << " ";
    }
    cout << endl;
}


template<class T>
static void PrintPair(const T& container) {
    for (const auto& ele : container) {
        cout << ele.first << " | " << ele.second << " ";
    }
    cout << endl;
}



